#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# @project : API_Service
# @File :   Template.py
# @Date :   2020/8/6 15:35
# @Author : 李文良

import allure
import pytest
from setupMain import project_path
from bin.config.confManage import dir_manage
from bin.unit.initializeCase import ini_case
from bin.unit.initializePremise import ini_request
from bin.unit.apiSendCheck import api_send_check

PATH = project_path + dir_manage('${page_dir}$') + "offer"

case_dict = ini_case(PATH, "Template")


class TestTemplate:


    # @pytest.mark.run(order=1)
    @pytest.mark.parametrize("case_data", case_dict["test_case"], ids=[])

    # 定义用例Behaviors
    @allure.epic('项目描述')
    @allure.feature('用例模块')
    @allure.story('用例故事')
    # 定义用例Suites
    @allure.parent_suite('套件名称')
    @allure.suite('套件模块')
    @allure.sub_suite('套件故事')
    @allure.title('用例标题')
    @allure.tag('用例标签')
    @allure.severity("用例等级")
    @pytest.mark.flaky(reruns=3, reruns_delay=3)
    def test_template(self, case_data):
        """
        填写测试用例描述
        """
        self.init_relevance = ini_request(case_dict, PATH)
        # 发送测试请求
        api_send_check(case_data, case_dict, self.init_relevance, PATH)


"""
allure对用例的等级划分成五个等级
blocker 阻塞缺陷（功能未实现，无法下一步）
critical 严重缺陷（功能点缺失）
normal 一般缺陷（边界情况，格式错误）
minor 次要缺陷（界面错误与ui需求不符）
trivial 轻微缺陷（必须项无提示，或者提示不规范）
"""
